﻿using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.Management;
using dao.commons;

namespace dao.daos
{
    public class EmpleadoDao : BaseDao, IDao
    {
        public EmpleadoDao() : base("EMPLEADO", "ID_EMPLEADO", true)
        {
        }

        public SqlDataReader ObtenerPorNombre(string nombre)
        {
            Conectar();
            SqlDataReader dr = null;
            try
            {
                Cmd.CommandText =
                    "select ID_EMPLEADO, NRO_DOCUMENTO, ID_TIPO_DOCUMENTO, NOMBRE, TELEFONO, DIRECCION, ID_CIUDAD, EMAIL, FECHA_ALTA, FECHA_NACIMIENTO, SUELDO_BASICO, CANTIDAD_VENTAS, DADO_BAJA from EMPLEADO where NOMBRE LIKE '" + nombre + "%'";
                Cmd.Parameters.Add(new SqlParameter("@nombre", nombre));
                dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
                return dr;
            }
            catch (Exception e)
            {
                throw new SqlExecutionException("Error al obtener empleado por nombre", e);
            }
        }

        public bool Existe(string documento)
        {
            Conectar();
            SqlDataReader dr = null;
            try
            {
                Cmd.CommandText = "select * from " + NombreTabla + " where NRO_DOCUMENTO = '" + documento + "'";
                dr = Cmd.ExecuteReader();
                return dr.Read();
            }
            catch (Exception e)
            {
                throw new SqlExecutionException("Error al verificar si existe empleado", e);
            }
        }


        public SqlDataReader ObtenerNombre()
        {
            Conectar();
            SqlDataReader dr = null;
            try
            {
                Cmd.CommandText =
                    "select ID_EMPLEADO, NOMBRE, from EMPLEADO";
                return dr;
            }
            catch (Exception e)
            {
                throw new SqlExecutionException("Error al obtener empleados", e);
            }
        }
    }
}
